/**
 * @description Common Variable Config
 */

import env from './env'

// 生产环境合并window.ENV配置
if (process.env.NODE_ENV === 'production') {
    Object.assign(env, window.ENV)
}

console.log(env)
console.log(process.env)

// ｜分割内外网访问地址
function getDomain(domain) {
    // 内外网标志
    const innerNet =
        process.env.NODE_ENV === 'development'
            ? true
            : /^(192|0|127|172|localhost|10)/.test(location.hostname)

    const domains = domain.split('|')
    if (!!domain && domains.length <= 1) {
        return domains[0]
    }
    const ndomain = innerNet ? domains[0] : domains[1]
    return ndomain
}

const systemCode = env.SYSTEM_CODE || ''

const packageName = require('../../package.json').name

const urlDomain = env.DOMAIN ? getDomain(env.DOMAIN) : location.origin // 接口请求地址

const redirectUrl = encodeURIComponent(`${urlDomain}/${packageName}`)

const commonConfig = {
    defaultServer: 'server', // 默认服务地址
    loginUrl: `${urlDomain}/cas/login?service=${urlDomain}/simple-user-center-server/userCenter/auth/authUser?redirectUrl=${redirectUrl}`, // 未登录，跳转到cas登录地址
    userLogoutUrl: `/simple-user-center-server/api/v1.0/user/logout`, // 退出simple-user-center
    logoutUrl: `${urlDomain}/cas/logout?service=${redirectUrl}`, // 退出登录
    fileUrl: 'file-base-server/api/v1/sys', // 文件服务地址
    casURL: `${urlDomain}/simple-user-center-server`, // 单点登录地址
    menusURL: `${urlDomain}/bsp-permission-server/api/v1.0/permissions/systemMenus`, // 权限菜单路径
    bspFlag: env.BSP_FlAG,
    menuFlag: env.MENU_FlAG,
}

// 所有服务地址--自定义别名
const servers = {
    serverName: '/serverUrl/', // 服务地址
}

export default {
    ...commonConfig,
    urlDomain,
    systemCode,
    packageName,
    servers,
}
